package model.repositorio;

import java.util.List;

import javax.persistence.Query;

import model.entidades.Paciente;
import model.repositorio.util.ConexaoBD;

public class PacienteDAO extends GenericDAOImpl<Paciente>{
	
	public PacienteDAO(){
		setEntityManager( ConexaoBD.getEntityManager() );
	}

	public Paciente buscaPorCPF(String cpf) {
		String hql = "select p from Paciente p where p.cpf = :cpf";
		Query consulta = getEntityManager().createQuery(hql);
		consulta.setParameter("cpf", cpf);
		@SuppressWarnings("unchecked")
		List<Paciente> resultado = consulta.getResultList();
		if (resultado != null && resultado.size() > 0) {
			return resultado.get(0);
		} else {
			return null;
		}
	}
	
	public List<Paciente> buscaPorNome(String nome) {
		String hql = "select p from Paciente p where p.nome like :nome";
		Query consulta = getEntityManager().createQuery(hql);
		consulta.setParameter("nome", "%" + nome + "%");
		@SuppressWarnings("unchecked")
		List<Paciente> resultado = consulta.getResultList();
		if (resultado != null && resultado.size() > 0) {
			return resultado;
		} else {
			return null;
		}
	}
}
